Skip to content

windows: added platform abstraction headers#3237

Closed
bgoing-micron-oss wants to merge 1 commit intolinux-nvme:masterfrom
Micron-TPG-OSS:windows-platform-abstraction
Closed

windows: added platform abstraction headers#3237
bgoing-micron-oss wants to merge 1 commit intolinux-nvme:masterfrom
Micron-TPG-OSS:windows-platform-abstraction

Conversation

@bgoing-micron-oss
Copy link
Copy Markdown
Contributor

Added Windows and Linux platform abstraction headers. Updated files that include platform-specific files to include the new platform compatibility headers.

Platform abstraction headers get installed under the platform subfolder.

Added Windows and LInux platform abstraction headers.
Updated files that include platform-specific files to include
the new platform compatibility headers.

Platform abstraction headers get installed under the platform subfolder.

Signed-off-by: Broc Going <[email protected]>
@igaw
Copy link
Copy Markdown
Collaborator

igaw commented Apr 15, 2026

As discussed during our call, I am not really a big fan of this approach. It creates a header file which includes everything and everything is depended on this header. From experience this gets easily out of hand. Thus I decided to go through the existing code and split/refactor the code so that there is generic code which is supposed to work on all platforms and platform depended code. The build system needs to pull in the right files. In the end the only Windows specific changes are the the new headers types.h (__u8, __u16, ...) and endian.h (htole16, ...). Overall I really think this is a better approach thus I've merged my #3270. Hope this is okay.

Obviously, there is still more cleanups necessary (I am working on refactoring the fabrics code for the libnvme_fabrics_option removal from the API anyway) but I think with this in place the porting path is unlocked.

@igaw igaw closed this Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants